/*  This file is part of -_-.

    -_- is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    -_- is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with -_-.  If not, see <http://www.gnu.org/licenses/>.

    Copyright 2012-2013 Oliver Katz */

#include <iostream>
#include <stdio.h>

extern "C"
{
	#include "pluginloader.h"
}

#include <gtest/gtest.h>

using namespace std;

char *pname = NULL;

TEST(pluginLoader, loader)
{
	ASSERT_TRUE(pname != NULL);
	z_plugin p = z_plugin_init(pname);
	ASSERT_FALSE(z_plugin_load(&p));
	z_plugin_call(&p, 0, z_data_init(0, 0));
	z_plugin_unload(&p);
	z_plugin_release(p);
}

int main(int argc, char *argv[])
{
	::testing::InitGoogleTest(&argc, argv);

	if (argc <= 1)
	{
		cout << "usage: " << argv[0] << " <PLUGIN>\n";
		return 1;
	}

	pname = argv[1];

	return RUN_ALL_TESTS();
}